Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhanced tracking camera and user visualization experience #619

Merged
merged 8 commits into from
May 22, 2024

Conversation

bperseghetti
Copy link
Member

@bperseghetti bperseghetti commented May 10, 2024

🎉 New feature

Summary

I would like to thank NXP for their support in enabling this work.

Depends on:

This adds a new /gui/track topic using the CameraTrack message to control multiple types of tracking and associated pgain(s), target(s) and offset(s). Furthermore it publishes a tracking camera status CameraTrack message on /gui/currently_tracked

This also adds an 3 unique follow modes and a tracking mode all able to be set from either the /gui/track topic or more ideally from the user gui.

The 3 follow modes are in a submenu under the right click top level menu Follow Options > and are:

  • Follow - Traditional follow mode where camera follows and tracks the same target.
    follow

  • Free Look - Enables a user to follow a target while still using an input device (IE mouse) to look around.
    follow_free_look

  • Look At - Only enabled after already selecting a primary object to follow, this allows a user to track a unique secondary target while following the primary target.
    follow_look_at

The other right click top level menu item added is Track, where the gui camera can be moved anywhere in the simulator but will always track the selected object.
track

These all respect using the escape key to stop any form of tracking.

Test it

Use these changes for collection-harmonic.yaml:

repositories:
  gz-gui:
    type: git
    url: https://github.com/rudislabs/gz-gui.git
    version: pr-track-follow
  gz-msgs:
    type: git
    url: https://github.com/rudislabs/gz-msgs.git
    version: pr-track-follow
  gz-sim:
    type: git
    url: https://github.com/rudislabs/gz-sim.git
    version: pr-track-follow

Checklist

  • Signed all commits for DCO
  • Added tests
  • Added example and/or tutorial
  • Updated documentation (as needed)
  • Updated migration guide (as needed)
  • Consider updating Python bindings (if the library has them)
  • codecheck passed (See contributing)
  • All tests passed (See test coverage)
  • While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
@bperseghetti bperseghetti requested a review from azeey May 10, 2024 05:22
@github-actions github-actions bot added the 🎵 harmonic Gazebo Harmonic label May 10, 2024
@bperseghetti bperseghetti changed the title Pr track follow Enhanced tracking camera and user visualization experience May 10, 2024
@bperseghetti
Copy link
Member Author

This is the continuation and expansion of PR #515

@bperseghetti bperseghetti force-pushed the pr-track-follow branch 2 times, most recently from 080d4ed to a80b6b8 Compare May 10, 2024 17:31
@bperseghetti bperseghetti requested a review from ahcorde May 10, 2024 17:32
Co-authored-by: Alejandro Hernández Cordero <ahcorde@gmail.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
@bperseghetti bperseghetti requested a review from ahcorde May 15, 2024 13:21
Copy link
Contributor

@jennuine jennuine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, minor questions about removing the follow docs

src/plugins/camera_tracking/CameraTracking.cc Show resolved Hide resolved
src/plugins/camera_tracking/CameraTracking.cc Outdated Show resolved Hide resolved
src/plugins/camera_tracking/CameraTracking.hh Show resolved Hide resolved
Signed-off-by: Benjamin Perseghetti <bperseghetti@rudislabs.com>
@j-rivero
Copy link
Contributor

@osrf-jenkins run tests

@j-rivero
Copy link
Contributor

oh we still need osrf/homebrew-simulation#2656. The windows problem with gz-math3 is known but unrelated to this PR

@bperseghetti
Copy link
Member Author

bperseghetti commented May 22, 2024

oh we still need osrf/homebrew-simulation#2656. The windows problem with gz-math3 is known but unrelated to this PR

@j-rivero Do you know if the homebrew/windows CI ever got resolved? I'll be very elated to get this merged ASAP so I can also target upstream 🥳.

@bperseghetti
Copy link
Member Author

@osrf-jenkins run tests

@bperseghetti bperseghetti dismissed ahcorde’s stale review May 22, 2024 18:49

Dismissing already addressed stale review.

@ahcorde ahcorde merged commit 1a04fbb into gazebosim:gz-gui8 May 22, 2024
10 checks passed
@bperseghetti bperseghetti deleted the pr-track-follow branch June 21, 2024 01:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎵 harmonic Gazebo Harmonic
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants